package main.java.aplicacion.usuarios.interfaces;

import java.util.List;

import main.java.aplicacion.ManejadorSistemaError;
import main.java.aplicacion.juegos.entidades.Juego;
import main.java.aplicacion.usuarios.excepciones.UsuarioError;
import main.java.datatypes.juegos.JuegoVO;
import main.java.datatypes.usuarios.UsuarioVO;

public interface UsuariosMgt {

	public void agregarUsuario(UsuarioVO dtUsuario) throws UsuarioError;

	public void existeUsuario(String nick , String mail) throws UsuarioError ;
	
	public boolean existeUsuarioNick(String nick);
	
	public boolean existeUsuarioCorreo(String correo);
	
	public List<UsuarioVO> listarUsuarios();

	public List<String> listarClientes();
	
	public List<String> listarDesarrolladores() throws ManejadorSistemaError;
	
	public UsuarioVO mostrarDatos(String nick) throws UsuarioError;
	
	public void modificarPerfilUsuario(String nick,String correo, UsuarioVO du) throws UsuarioError;
	
	public List<String> listarJuegosAprobadosDesarrollador(String nick) throws UsuarioError;
	
	public List<String> listarJuegosPublicadosDesarrollador(String nick) throws UsuarioError;
	
	//public List<JuegoVO> getJuegosAprobadosDesarrollador(String nick) throws UsuarioError;
	
	public void crearCliente(String nick, String correo, String nombre, String apellido, String fecha, int edad);
	
	public void crearDesarrollador(String nick, String correo, String nombre, String apellido, String fecha, int edad, String url);
	
	public void crearDesarrollador(String nick, String correo, String nombre, String apellido, String fecha, int edad, String url, String password);
	
	public void crearCliente(String nick, String correo, String nombre, String apellido, String fecha, int edad, String password);
}
